package com.xsz.lambdademo;

import java.time.Period;
import java.util.function.Supplier;

//supplier 英 [səˈplaɪə(r)] 美 [səˈplaɪər] n.供应商;供应者;供给者。其源码如下：
public class SupplierDemo {
    public static void main(String[] args) {
        //你肯定很困惑，这还是Lambda表达式吗，箭头去哪里了？双冒号又是什么鬼？
        // 其实这种写法有一个新的名称，叫做方法的引用。
        //方法引用可以被看作仅仅调用特定方法的Lambda的一种快捷写法。
        // 它的基本思想是，如果一个Lambda代表的只是“直接调用这个方法”，
        // 那最好还是用名称来调用它，而不是去描述如何调用它，这样代码可读性更好。
        // 基本写法就是目标引用放在分隔符::前，方法的名称放在后面。
        Supplier<Person> personSupplier = Person::new;
        Person p1=personSupplier.get();   // new Person
        Person p2=new Person();
        p2.age=18;
        Supplier<String> getPersonName=Person::dd;
        System.out.println(getPersonName.get());

    }
}
